En el siguiente trabajo analizaremos las menciones que reciben las vacunas SputnikV y Pfizer en twitter. Para ello, descargamos cada dos días 18.000 mil tweets, por vacuna. Luego filtramos por los países que son de nuestro interes: los países limítrofes a Argentina, dejando de lado a Brasil ya que su idioma es el portugues.
A través de dichos tweets buscabamos analizar varias cosas:
Por un lado, cuantificar las menciones por día que se realizaban de cada vacuna y para cada país limítrofe a Argentina. A su vez, al gráfico de Argentina le agregamos hitos que nos daban una respuesta a los picos de menciones.
Por otro lado, quisimos analizar cuál era la dinámica en twitter para tratar de entender cómo se forman/llevan adelante las conversaciones.
2.1 Dado que la mayoría de los tweets que circulan son retweets, quisimos tratar de entender quienes eran los formadores de opinión (siempre dentro de nuestro dataset)
Asimismo, analizamos cuáles son las palabras que se utilizan con más frecuencia cuando se menciona a una u otra vacuna.
Analizamos también cuáles eran los sentimientos que se desprenden de dichos tweets.
En primer lugar, creamos las funciones que son necesarias para realizar el analisis.
Función para agrupar los df por tipo de vacuna
Función para tokenizar los df
Función para contar la frecuencia de las palabras
Antes de comenzar con el analisis, preparemos nuestro dataset. Para ello vamos a utilizar los df CON Retweet. A cada df le creamos una columna con el nombre “tipo” donde le diremos si es sputnikV o pfizer. Luego, unimos ambos df en uno solo final.
Para empezar a analizar un poco los tweets, creemos necesario realizar algunos gráficos comparativos que nos permitan sacar conclusiones. En este caso, vamos a enfocarnos en cuantificar la cantidad de tweets que mencionan por un lado a la vacuna Pfizer y por el otro a SputnikV, por día y país.
Como parte de la limpieza de los tweets descargados, decidimos quedarnos unicamente con aquellos países limitrofes a Argentina, salvo Brasil (porque hablan portugues y le pedimos a la api todos los de hispanoparlantes)
Ahora bien, creemos los df que corresponden a cada país. Para ello, le agregamos una variable nueva, “Pais”, donde incorporamos el nombre del país abreviado (que luego nos va a servir para graficar)
Luego utilizamos la función agrupar para agrupar nuestros df según tipo de vacuna y fecha.
Bien, aqui realizaremos los gráficos de línea correspondientes a cada país según la cantidad de menciones por día por vacuna.
En el gráfico podemos observar picos de menciones de la vacuna SputnikV los días 24 y 29 de Diciembre, y 3, 5 y 12 de enero.
En el caso de Chile, los picos de menciones corresponden a la vacuna Pfizer, por el contrario de Argentina.
Si observamos el gráfico de Bolivia, vemos que la cantidad de tweets con ubicación “Bolivia” es mucho menor a otros países limítrofes, sin embargo, igualmente se puede observar qué vacuna recibe más menciones. En este caso vemos que los picos de menciones corresponden a la vacuna SputnikV.
En el caso de Paraguay, observamos que en diciembre hay más menciones de la vacuna Pfizer, pero en enero las menciones de SputnikV llegan a un pico muy alto, probablemente por algún anuncio que haya realizado el presidente con respecto a esa vacuna.
Para poder comparar entre países creemos necesario realizar un gráfico solo que una a todos.
## Warning: `group_by_()` is deprecated as of dplyr 0.7.0.
## Please use `group_by()` instead.
## See vignette('programming') for more help
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.
Al comparar los gráficos, podemos observar variaciones en la cantidad de menciones de cada vacuna por país. Esto puede estar relacionado a los acuerdos y vacunas que arribaron o arribarán a cada uno. Lo vemos claramente en Argentina, donde la vacuna SputnikV logra mayor importancia al tener más menciones debido a que es la vacuna que recibimos, a comparación de Chile que tiene mayores menciones de la vacuna Pfizer ya que es con la que están vacunando.
Ahora bien, agreguemos fechas importantes que nos permitan analizar los picos de menciones de la vacuna SputnikV en Argentina: 24 y 29 de diciembre.
Antes de seguir, analicemos un poco lo que vimos recien: de la visualización general de los datos se puede observar que los picos de tweets coinciden con dos sucesos de importancia para la opinión pública: el arribo de la vacuna sputnikV a Argentina el dia 24/12/20 con 4023 tweets y con el día de inicio de la vacunación el día 29/12/20 con 4399 tweets.
Por otro lado, también se observa que si bien la vacuna Pfizer no pudo ser traída a Argentina ni mucho menos empezar un esquema de vacunación para la población, los tweets que la mencionan coinciden con la fecha relevante para la vacuna sputnikV (29/12/20). De esta forma, se podría pensar que hay una relación simétrica entre las menciones de la vacuna sputnik y la vacuna de Pfizer. Esta cuestión, podría deberse al alto grado de polarización y politización mediática que existe entre la eficacia y utilización de ambas vacunas.
Ahora bien, indaguemos un poco la dinámica de twitter en relación a nuestro dataset Argentino. En este paso vamos a usar el df que une los tweets de pfizer y sputnik - DF ARGENTINA, que incluye los RT.
Cuando se analiza a los tweets por categoría, dividiendolos en tres, condiseramos a: orgánicos como los tweets “originales”, “respuestas” a las respuestas de los tweets que mencionan a las vacunas y “retweets” (valga la redundancia) a los retweets.
Aqui podemos ver claramente que la dinámica de twitter no es publicar tweets nuevos, sino retwittear aquellos que se volvieron virales. En este sentido, se observa que la mayor cantidad de tweets, son retweets (79%). Esta cuestión nos muestra que el efecto cascada realizado por líderes de opinión (calvo, 2015) es muy fuerte, ya que los tweets originales solo corresponden al 15 %.
Ahora bien, dado que observamos un efecto cascada, nos pareció interesante analizar cuáles son los tweets con más rt y más favoritos. Este análisis lo realizaremos unicamente para aquellos cuya ubicación es Argentina.
Para realizar este análisis, debemos utilizar df sin RT. Para ello, utilizamos el df global ya armado con RT y le borramos todos los rt. Luego lo filtramos por los valores que son de nuestro interes.
Ahora bien, para poder realizar mejor el análisis, vamos a separar nuestro df según la vacuna.
En este caso, nos quedamos con todos los tweets con ubicación en argentina, que mencionan a la vacuna Pfizer y que tengan más de 100 rt ó 300 favs.
El tweet con más rt y más favoritos de nuestro dataset de pfizer es el de Vivaroca2015:
El tweet que le sigue según favoritos es guarda_la_moto con:
Sin embargo, para el tweet de guarda_la_moto la cantidad de rt no es significante.
El siguiente tweet más rt es el de edufeiok:
En este caso, estamos hablando de cuentas con influencia ya que está verificada, con 711125 de followers.
Ahora sigamos por las menciones a SputnikV.
En este caso, nos quedamos con todos los tweets con ubicación en argentina, que mencionan a la vacuna sputnikV y que tengan más de 100 rt ó 300 favs.
En el caso de sputnik, el tweet con más rt y favoritos es de carlavizzotti:
Su cuenta es verificada y tiene 42121 seguidores por lo que claramente tiene una gran llegada a la comunidad.
El segundo tweet con más favoritos, pero pocos rt, es gonchobanzas, con 329374 seguidores.
Ahora bien, vamos a realizar un análisis de las palábras más mencionadas, tanto para los tweets que mencionan a pfizer como para los que mencionan a sputnikV. Para eso utilizaremos el df sin rt de Argentina.
Los pasos a seguir son los siguientes:
Genero un corpus con todas las palábras, para cada país. Para ello utilizo la función tokenizar.
Creamos un df con los stops words en español.
Realizamos un listado de stop words que no aportan a nuestro analisis y no fueron incluidas en el paso anterior.
Sacamos las stop words que no ayudan al análisis.
Vemos la frecuencia de las palabras en el corpus a traves de la función fn_frecuencia
Ploteamos.
Ploteamos las palabras más frecuentes entre los tweets que mencionan a Pfizer y tienen ubicación en Argentina.
En cuanto al análisis de las palabras que se utilizan más frecuentemente, se observa, descartando la primera plabra más utilizada, “Pfizer” con 2799 observaciones, le sigue “vacuna” con 1274 observaciones. La tercer palabra más utilizada es “sputnik” con 309 observaciones. Esta situación, sugiere que cuando se refieren a Pfizer se la contrapone frente a otra. Esta última consideración podría reafirmar la conjetura sobre la polarización y politización existente entre el uso o no de una o otra vacuna.
Ahora graficamos las palabras utilizadas pero a traves de una nube de palabras.
La nube de palabras nos muestra, al igual que el gráfico anterior, que la palabra más mencionada es “Vacuna”.
Ploteamos las palabras más frecuentes entre los tweets que mencionan a SputnikV y tienen ubicación en Argentina.
Al igual que Pfizer, la primera palabra más utilizada es el nombre de la vacuna con 6551 observaciones y la palabra “vacuna” con 2882 observaciones. Ahora bien, lo que sí llama la atención, es que a diferencia de la Pfizer, aparecen dos países con una cantidad de menciones alta: Rusia con 630 y Argentina 602 observaciones. Esta evidencia, muestra que la politización y polarización alrededor de la vacuna Sputnik V ocurre fuertemente.Incluso si uno observa la nube de palabras pugede encontrar que aparecen varios nombres de funcionarios de este país como “ginés”, “kicillof”, “vizzoti”.
Ahora graficamos las palabras utilizadas pero a traves de una nube de palabras.
La nube de palabras nos muestra, al igual que el gráfico anterior, que la palabra más mencionada es “Vacuna”.
Ahora realizemos un sentiment analisys para ver cuál es el sentimiento mayoritario entre las menciones de cada vacuna.
Para ello, cruzo con mi lexicón de sentimientos y empiezo a ver la distribución de sentimientos en los tweets. Probaremos en primer lugar con “NRC” y en segundo con “Bing”
Ahora ploteamos.
Primero ploteamos por NRC y luego por BING
## Warning in data(sentimientos, package = NULL, envir = environment()): data set
## 'sentimientos' not found
## Joining, by = "word"
En cuanto al análisis de sentimiento, partimos de la base que los n de palabras son diferentes para cada vacuna. Si bien no parece correcto hacer comparaciones entre ellas, si podemos hacer un analisis descriptivo de lo que vemos. Cuando se realiza el análisis de manera desagregada, el sentimiento de “confianza” es alto para ambas vacunas. Cabe destacar que para la vacuna Pfizer, los sentimientos más vistos además de la confianza, son miedo y premonición, al igual que la vacuna SputnikV.
Sin embargo, a pesar de las conclusiones que uno puede sacar, hay que tener en cuenta que la dinamica misma de twitter hace que muchas veces lo que se dice sea en tono irónico. En este sentido, es importante el comentario ya que al propio algoritmo de análisis de sentimiento se le dificulta distinguir la irónia y puede “encasillar” tweets en determinado sentimiento cuando en realidad, si un humano lo lee, puede no lo “encasillaría” ahí.
Ahora ploteo por BING.
## Warning in data(sentimientos, package = NULL, envir = environment()): data set
## 'sentimientos' not found
## Joining, by = "word"
En cuanto al análisis agregado de los sentimientos, tanto positivos como negativos, vemos sorprendentemente que Pfizer obtiene más sentimientos negativos que positivos, mientras que la vacuna hecha en el país ruso tiene una mejor relación entre ambos sentimientos, obteniendo un resultado de 50% para cada una.
Estos últimos datos contrastan con el análisis desagregado de sentimientos. Al parecer, estos resultados seguramente requieren de un mejor procesamiento, ya que es probable que el banco de palabras que se utiliza para el análisis de sentimientos positivos y negativos, no esté del todo pulido y relacionado con el lenguaje que se usa en una plataforma tan informal y masiva como Twitter.
Por último, vamos a realizar un topic modeling para los tweets con ubicación en Argentina. La idea es clasificar los tweets en función de su temática. El objetivo es descubrir el tema subyacente, buscar patrones en el contenido de los tweets en base a la frecuencia de las palabras.
Los pasos que sehguimos son:
Genero una matriz término-documento.
Aplico el topic modelling y utilizo la función LDA() (latent dirichlet allocation)
Paso el objeto a tidy.
Veo y ploteo los términos más frecuentes de mi topic modelling.
Con el objetivo de cuantificar y descubrir qué se anda diciendo en twitter sobre las vacunas Pfizer y SputnikV, analizamos un corpus de tweets descargados durante los últimos 10 días de diciembre y los primeros 12 de enero. Luego de realizar una serie de analisis, concluimos que:
La cantidad de menciones que recibe cada vacuna por día depende directamente de la coyuntura y contexto del momento. Asi se observa en todos los países limítrofes en general y en Argentina en particular, donde los picos de menciones se corresponden a anuncios importantes del gobierno.
Al analizar la dinámica de twitter observamos que hay grandes formadores de opiniones que a través de sus tweets tienen gran influencia en la comunidad y no son únicamente aquellos con cuenta verificada, sino también usuarios con varios seguidores o incluso usuarios con pocos seguidores pero con tweets que se volvieron virales. A partir de ello quisimos realizar un analisis de redes que nos explique un poco más como se difunden los mensajes y qué comunidades se forman.
Al analizar las palabras más frecuentes en los tweets, observamos en ambos casos que hay una gran politización y polarización del tema. En algunos casos más notada, por ejemplo en las menciones de Pfizer donde además se menciona en gran medida vacunas desarrolladas por otros laboratorios. Creemos que este hallazgo nos da puntapie para en un futuro analizar la postura partidaría de los mayores formadores de opinión sobre nuestra muestra.
Por último, al analizar los sentimientos que se desprenden de los tweets nos encontramos con varias trabas. Creemos que el análisis de sentimiento no se aplica del todo a la dinámica de twitter (lenguaje que se usa en una plataforma tan informal y masiva como Twitter) o quizás los datos requieran de un mejor procesamiento.
Para finalizar, si bien no encontramos hallazgos muy interesantes como nos imaginabamos, si creemos que fué relevante el tema de análisis. En primer lugar, porque sirvió para cuantificar cuánto se habla del tema en una red social como lo es twitter. En segundo, porque es un tema actual y el momento en el que descargamos los tweets coincidió con grandes anuncios tanto en Argentina como en el resto del mundo.